var app = getApp();
//项目URL相同部分，减轻代码量，同时方便项目迁移
//这里因为我是本地调试，所以host不规范，实际上应该是你备案的域名信息
// var hostOne = "http://192.168.100.73";      // 本地
// var hostOne = "https://test.199.nuomayun.com";  // 测试
var hostOne = "https://data.199.nuomayun.com"; // 线上


// var hostTwo = "http://www.tietou.com" // 生活平台 - 本地预约
// var hostTwo = "https://new.test.199.nuomayun.com"; // 生活平台 - 预约测试
var hostTwo = "https://app.199.nuomayun.com" // 生活平台 - 线上

/**
 * POST请求，
 * URL：接口
 * postData：参数，json类型
 * doSuccess：成功的回调函数
 * doFail：失败的回调函数
 */
function request(url, postData, doSuccess, doFail, status = true,contentType = "application/x-www-form-urlencoded; charset=UTF-8") {
  var token = wx.getStorageSync('token'); //获取token
  let host = hostOne
  status ? console.log('默认host') : host = hostTwo
  wx.request({
    //项目的真正接口，通过字符串拼接方式实现
    url: host + url,
    header: {
      "content-Type":contentType,
      "token": token
    },
    data: postData,
    method: 'POST',
    success: function (res) {
      if(res.data.code == 401){
        wx.clearStorage()
        wx.reLaunch({
          url: '/pages/home/index'
        })
      }else{
        doSuccess(res.data);
      }
    },
    fail: function (err) {
      doFail(err);
    },
  })
}

function Form(url, postData, doSuccess, doFail, host = "https://data.199.nuomayun.com"){
  var token = wx.getStorageSync('token'); //获取token
  wx.request({
    //项目的真正接口，通过字符串拼接方式实现
    url: host + url,
    header: {
      "token": token
    },
    data: postData,
    method: 'POST',
    success: function (res) {
      if(res.data.code == 401){
        wx.clearStorage()
        wx.reLaunch({
          url: '/pages/home/index'
        })
      }else{
        doSuccess(res.data);
      }
    },
    fail: function (err) {
      doFail(err);
    },
  })
}

//GET请求，不需传参，直接URL调用，
function getData(url, getData, doSuccess, doFail, status = true) {
  var token = wx.getStorageSync('token'); //获取token
  let host = hostOne
  status ? console.log('默认host') : host = hostTwo
  wx.request({
    url: host + url,
    header: {
      "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
      "token": token
    },
    data: getData,
    method: 'GET',
    success: function (res) {
      if(res.data.code == 401){
        wx.clearStorage()
        wx.reLaunch({
          url: '/pages/home/index'
        })
      }else{
        doSuccess(res.data);
      }
    },
    fail: function (err) {
      doFail(err);
    },
  })
}

/**
 * module.exports用来导出代码
 * js文件中通过var call = require("../util/request.js")  加载
 * 在引入引入文件的时候"  "里面的内容通过../../../这种类型，小程序的编译器会自动提示，因为你可能
 * 项目目录不止一级，不同的js文件对应的工具类的位置不一样
 */

// 199精品服务
// let hostService = "http://192.168.100.82";  // 本地
// let hostService = "https://talent.199.nuomayun.com:4443";  // 测试
let hostService = "https://talent.199.nuomayun.com";  // 线上

function httpData(method, url, data, doSuccess, doFail, contentType = "application/json; charset=utf-8") {
  var token = wx.getStorageSync('token'); //获取token
  wx.request({
    //项目的真正接口，通过字符串拼接方式实现
    url: `${hostService}${url}`,
    header: {
      "content-Type": contentType,
      "token": token
    },
    data,
    method,
    success: (res) => {
      if(res.data.code == 401 || res.data.code == 402){
        wx.clearStorage()
        wx.reLaunch({
          url: '/pages/home/index'
        })
      }else{
        doSuccess(res.data);
      }
    },
    fail: (err) => {
      doFail(err);
    },
  })
}











module.exports.request = request;
module.exports.getData = getData;
module.exports.Form = Form;
module.exports.httpData = httpData;